


.PHONY: setup build run run-os run-msr style setup setup-dev

TEST_ENV?=$(shell_hostname).json
VENV_DIR?=../venv/test_$(shell hostname)

$(VENV_DIR): Pipfile
	WORKON_HOME=$(VENV_DIR) pipenv install --skip-lock

setup:
	${MAKE} $(VENV_DIR)

setup-dev:
	WORKON_HOME=$(VENV_DIR) pipenv install --skip-lock --dev

build: test_env

clean:
	@rm -rf __pycache__
	@rm -rf test/__pycache__
	@rm -rf test/*.pyc
	@rm -rf testlib/__pycache__
	@rm -rf testlib/*.pyc
	@rm -rf plugins/__pycache__
	@rm -rf plugins/*.pyc

pylint:
	WORKON_HOME=$(VENV_DIR) pipenv run python -m pylint *.py plugins/*.py testcases/*.py testlib/*.py

bandit:
	WORKON_HOME=$(VENV_DIR) pipenv run python -m bandit -s B101,B404,B603 *.py plugins/*.py testcases/*.py testlib/*.py;

.PHONY: codespell
codespell:
	WORKON_HOME=$(VENV_DIR) pipenv run codespell . -L unit -q 2

style:
	${MAKE} pylint
	${MAKE} bandit
	${MAKE} codespell

run:
	WORKON_HOME=$(VENV_DIR) pipenv run pytest --env=$(TEST_ENV)

run-os:
	WORKON_HOME=$(VENV_DIR) pipenv run pytest --env=$(TEST_ENV) --iface-os

run-msr:
	WORKON_HOME=$(VENV_DIR) pipenv run pytest --env=$(TEST_ENV) --iface-msr

	
